Angle of Arrival and Angle of Departure algorithms, collectively referred to as AoX algorithms, operate by determining a phase difference between different antenna elements in an antenna array. This phase difference can be used to determine the angle from which the signal originated, since the distance between antenna elements is known.
Specifically, assume the distance between two adjacent antenna elements is d. The phase difference between when the incoming signal is detected at these two adjacent antennas can be given as φ. This phase difference, φ, divided by 2n, multiplied by the wavelength, λ, represents the distance between the two antenna elements, as viewed from the signal source. Knowing this difference in the distance that the incoming signal traveled allows the angle of arrival to be calculated. Specifically, the angle of arrival can be given by the difference in the distance that the incoming signal traveled, divided by d represents the cosine of the incoming signal. In other words, the angle of arrival is defined as the arc cosine of (φλ/2π)/d.
This algorithm, and others, relies on the accuracy of several parameters. Specifically, the distance between adjacent antenna elements must be accurate. This is typically not problematic, as the antenna array is well defined. The algorithm also relies on the accuracy of the wavelength of the incoming signal.
Specifically, the phase is determined based on a calculation based on the frequency. If the frequency is incorrect, the phase will also be inaccurate.
Unfortunately, frequency inaccuracy is common. Crystals that are used in network devices to generate the carrier frequency typically have a tolerance of ±20 ppm. If the carrier frequency is 2.4 Ghz, this implies a carrier frequency offset that can be as large as 48 kHz.
Thus, two network devices can have a relative carrier frequency offset of up to 96 kHz. This difference in carrier frequency can affect the AoX algorithm, resulting in less accurate results than desired.
Therefore, it would be beneficial if there were a system and method where the CFO can be determined and compensated for. In this way, the accuracy of the AoX algorithm can be improved. Further, it would be beneficial if this system and method can be easily incorporated into existing AoX algorithms.